手动搭建LAMP开发环境(Alibaba Cloud Linux/CentOS 7.x)

LAMP环境是常用的Web开发环境之一,其中LAMP分别代表Linux、Apache、MySQL和PHP。本文介绍如何在Alibaba Cloud Linux 3/2、CentOS 7.x操作系统的轻量应用服务器实例内部署LAMP环境。

说明

如果您还没创建轻量应用服务器,建议您直接通过LAMP应用镜像快速搭建LAMP环境。具体操作,请参见搭建LAMP开发环境(通过应用镜像)

准备工作

  • 创建用于部署LAMP环境的轻量应用服务器实例。具体操作,请参见创建轻量应用服务器

  • 该实例必须满足以下条件:

    • 操作系统:Alibaba Cloud Linux 3/2、CentOS 7.x。

    • 实例安全组的入方向规则已放行22、80、443端口。具体操作,请参见管理防火墙

步骤一:安装Apache

  1. 远程连接需要部署LAMP环境的轻量应用服务器实例。具体操作,请参见远程连接Linux服务器

  2. 运行以下命令,安装Apache服务及扩展包。

    sudo yum -y install httpd httpd-manual mod_ssl mod_perl
  3. 运行以下命令,查看Apache的版本号。

    httpd -v

    返回结果类似如下所示,表示Apache安装成功。

    httpd -v

  4. 依次运行以下命令,启动Apache服务并设置服务开机自启动。

    sudo systemctl start httpd
    sudo systemctl enable httpd
  5. 运行以下命令,查看Apache状态。

    sudo systemctl status httpd

    返回结果如下所示,表示Apache服务已启动。

    image.png

步骤二:安装并配置MySQL

安装MySQL

  1. 当ECS实例操作系统为Alibaba Cloud Linux 3,需安装MySQL依赖包。

    sudo yum install compat-openssl10
  2. 运行以下命令,更新YUM源。

    sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm
  3. 运行以下命令,安装MySQL。

    sudo yum -y install mysql-community-server
  4. 运行以下命令,查看MySQL版本号。

    mysql -V

    返回结果如下所示,表示MySQL安装成功。

    mysql  Ver 8.0.36 for Linux on x86_64 (MySQL Community Server - GPL)
  5. 运行以下命令,启动MySQL。

    sudo systemctl start mysqld
  6. 依次运行以下命令,设置开机启动MySQL。

    sudo systemctl enable mysqld
    sudo systemctl daemon-reload

配置MySQL

  1. 运行以下命令,查看/var/log/mysqld.log文件,获取并记录root用户的初始密码。

    sudo grep 'temporary password' /var/log/mysqld.log

    命令行返回结果如下,其中ARQTRy3+****为MySQL的初始密码。在下一步重置root用户密码时,会使用该初始密码。

    2021-11-10T07:01:26.595215Z 1 [Note] A temporary password is generated for root@localhost: ARQTRy3+****
  2. 运行以下命令,配置MySQL的安全性。

    sudo mysql_secure_installation
    1. 输入MySQL的初始密码。

      说明

      在输入密码时,系统为了最大限度地保证数据安全,命令行将不做任何回显。您只需要输入正确的密码信息,然后按Enter键即可。

      Securing the MySQL server deployment.
      
      Enter password for user root: #输入上一步获取的root用户初始密码
    2. 设置MySQL的新密码。

      The existing password for the user account root has expired. Please set a new password.
      
      New password: #输入新密码。长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号。特殊符号包含()` ~!@#$%^&*-+=|{}[]:;‘<>,.?/
      
      Re-enter new password: #确认新密码。
      The 'validate_password' plugin is installed on the server.
      The subsequent steps will run with the existing configuration
      of the plugin.
      Using existing password for root.
      
      Estimated strength of the password: 100 #返回结果包含您设置的密码强度。
      Change the password for root ? (Press y|Y for Yes, any other key for No) :Y #您需要输入Y以确认使用新密码。
      
      #新密码设置完成后,需要再次验证新密码。
      New password:#再次输入新密码。
      
      Re-enter new password:#再次确认新密码。
      
      Estimated strength of the password: 100
      Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :Y #您需要输入Y,再次确认使用新密码。
    3. 输入Y删除匿名用户。

      Remove anonymous users? (Press y|Y for Yes, any other key for No) :Y
      Success.
    4. 输入Y禁止使用root用户远程登录MySQL。

      Disallow root login remotely? (Press y|Y for Yes, any other key for No) :Y
      Success.
    5. 输入Y删除test库以及用户对test库的访问权限。

      Remove test database and access to it? (Press y|Y for Yes, any other key for No) :Y
       - Dropping test database...
      Success.
      
       - Removing privileges on test database...
      Success.
    6. 输入Y重新加载授权表。

      Reload privilege tables now? (Press y|Y for Yes, any other key for No) :Y
      Success.
      
      All done!

更多信息,请参见MySQL文档

步骤三:安装PHP

  1. 运行以下命令,备份Apache配置文件。

    sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
  2. 修改Apache配置文件,添加Apache对PHP的支持。

    重要

    若不添加此配置信息,后续您使用浏览器访问PHP页面时,页面将无法显示。

    1. 运行以下命令,打开Apache配置文件。

      sudo vim /etc/httpd/conf/httpd.conf
    2. i进入编辑模式。

    3. 添加下列配置信息。

      <FilesMatch \.php$>
          SetHandler "proxy:fcgi://127.0.0.1:9000"
      </FilesMatch>
    4. Esc键,输入:wq,按Enter键关闭并保存配置文件。

    5. 运行以下命令,重启PHP-FPM.

      sudo systemctl restart php-fpm
  3. 运行以下命令,在Apache网站根目录创建测试文件。

    sudo sh -c 'echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php'
  4. 运行以下命令,重启Apache服务。

    sudo systemctl restart httpd
  5. 在本地机器的浏览器地址栏中,输入http://实例公网IP/phpinfo.php并按Enter键。

    显示类似如下页面表示安装成功。

    image

  6. 成功搭建LAMP环境后,建议您删除phpinfo.php测试文件,以消除数据泄露风险。

    sudo rm -rf <网站根目录>/phpinfo.php

    本教程中网站根目录为/var/www/html,则需要运行以下命令删除测试文件。

    sudo rm -rf /var/www/html/phpinfo.php